package org.droidplanner.android.utils; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import com.squareup.okhttp.Cache; import com.squareup.okhttp.OkHttpClient; import com.squareup.okhttp.OkUrlFactory; import org.droidplanner.android.maps.providers.google_map.tiles.mapbox.MapboxUtils; import java.net.HttpURLConnection; import java.net.URL; import javax.net.ssl.SSLSocketFactory; /** * Created by Fredia Huya-Kouadio on 5/11/15. */ public class NetworkUtils { private static final String SOLO_LINK_WIFI_PREFIX = "SoloLink_"; public static boolean isNetworkAvailable(Context context) { if(context == null) return false; ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); return activeNetworkInfo != null && activeNetworkInfo.isConnected(); } public static boolean isOnSoloNetwork(Context context) { if (context == null){ return false; } final String connectedSSID = getCurrentWifiLink(context); return connectedSSID != null && connectedSSID.startsWith(SOLO_LINK_WIFI_PREFIX); } public static String getCurrentWifiLink(Context context) { if(context == null) return null; final WifiManager wifiMgr = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); final WifiInfo connectedWifi = wifiMgr.getConnectionInfo(); final String connectedSSID = connectedWifi == null || connectedWifi.getSSID() == null ? null : connectedWifi.getSSID().replace("\"", ""); return connectedSSID; } public static HttpURLConnection getHttpURLConnection(final URL url) { return getHttpURLConnection(url, null, null); } public static HttpURLConnection getHttpURLConnection(final URL url, final Cache cache) { return getHttpURLConnection(url, cache, null); } public static HttpURLConnection getHttpURLConnection(final URL url, final Cache cache, final SSLSocketFactory sslSocketFactory) { OkHttpClient client = new OkHttpClient(); if (cache != null) { client.setCache(cache); } if (sslSocketFactory != null) { client.setSslSocketFactory(sslSocketFactory); } HttpURLConnection connection = new OkUrlFactory(client).open(url); connection.setRequestProperty("User-Agent", MapboxUtils.getUserAgent()); return connection; } public static OkHttpClient getHttpClient() { return new OkHttpClient(); } }